Linear video editing systems allow clients to combine multiple videos into a single video presentation. Using such video editing systems, a user can specify video clips to be joined in a sequence, such that the resulting sequence plays the specified video clips in a defined order. Video clips can also be selected for simultaneous playback using such systems, e.g., as a split-screen or picture-in-picture presentation.
In addition to sequencing videos, some video editing systems allow effects or other video processing operations to be applied to the video sequence. Such effects can include, but are not limited to, cross-fading, stabilization, image rotation, contrast or color adjustments, or other such video processing operations. Some effects can be applied in a frame-wise manner. That is, the effects are applicable to a single frame or a range of frames, and can be applied in a frame-by-frame manner. Such frame-wise effects can include, for example, contrast or color adjustments. Other effects must be applied to a multi-frame video segment as a whole. For example, a stabilization operation, which smoothes video motion by reducing the effects of camera shake, may analyze an entire video segment so that suitable stabilization algorithm can be performed on the moving image (e.g., by applying a motion averaging algorithm over the video segment).
Since some linear video editing systems only allow effects to be applied separately to each defined clip of a video sequence, problems can arise when applying certain effects to a video sequence comprising multiple video clips. For example, if the last half second of a first video is to be cross-faded with the first half second of a second video, and the second video is to be stabilized, it is necessary to apply the stabilization operation separately to (a) the cross-faded portion of the second video (i.e., the first defined video clip), and (b) the remaining portion of the second video after the cross-fade (i.e., the second defined video clip). Thus, rather than applying a seamless stabilization operation to the second video as a whole, it is necessary to segment the stabilization operation between two different sections of the second video—the section within the cross-fade and the section outside the cross-fade. This non-seamless stabilization can cause undesired video artifacts in the resulting video sequence.
Moreover, in some video sequencing applications, it is necessary to duplicate operations performed on a common video clip. For example, consider a video sequence to be created that demonstrates the effect of a particular video operation (e.g., a contrast increase). The sequence may comprise a side-by-side comparison of two video clips derived from the same source video, in which a contrast increase is applied to one of the video clips for comparison purposes. If another video operation (e.g., a rotate operation) is to be applied to both the left-side and right-side video clips, it is necessary to apply this common video operation separately to both video clips. This duplication of work can reduce processing speed and performance.
The above-described is merely intended to provide an overview of some of the challenges facing conventional systems. Other challenges with conventional systems and contrasting benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description.